/**
 * @author 松阳 996666908
 * @description 导入所有 vuex 模块，自动加入namespaced:true，用于解决vuex命名冲突，请勿修改。
 */
import { createStore } from "vuex";

import pState from "vuex-persistedstate";
const files = require.context("./modules", false, /\.js$/);
const modules = {};
files.keys().forEach((key) => {
  modules[key.replace(/(\.\/|\.js)/g, "")] = files(key).default;
});
Object.keys(modules).forEach((key) => {
  modules[key]["namespaced"] = true;
});
export default createStore({
  modules,
  plugins: [
    pState({
      storage: window.sessionStorage,
      reducer(val) {
        return {
          user: val.user,
        };
      },
    }),
  ],
});
